package com.kapcb.async.callback;

import com.kapcb.async.wrapper.WorkerWrapper;

import java.util.List;

/**
 * <a>Title: IGroupCallback </a>
 * <a>Author: Kapcb <a>
 * <a>Description: 如果是异步执行整组的话，可以用这个组回调。不推荐使用 <a>
 *
 * @author Kapcb
 * @version 1.0
 * @date 2024/5/12 21:28
 * @since 1.0
 */
public interface IGroupCallback {

    /**
     * 成功后，可以从 wrapper 里 getWorkResult
     *
     * @param workerWrappers 工作者
     */
    void success(List<WorkerWrapper<?, ?>> workerWrappers);

    /**
     * 失败时，也可以从 wrapper 里去 getWorkResult
     *
     * @param workerWrappers 工作者
     * @param e              异常错误
     */
    void failure(List<WorkerWrapper<?, ?>> workerWrappers, Exception e);
}
